<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>正则表达式语法</title>
</head>
<body>
    
</body>
</html>
<script>
    /*
        创建一个正则表达式检查一个字符串中是否含有 aaa
    */
    var reg = /a/;
    
    /*
        量词
            - 通过量词可以设置一个内容出现的次数
            - 两次只对前边的一个内容起作用
            - {n} 正好出现 n 次
            - {m,n} 出现 m-n 次
            - {m,}  出现 m 以上的次数   //m 到正无穷
            - + 至少一个，相当于{1,}    //  a >= 1
            - * 表示 0 或 多个 {0,}     // a >= 0
            - ？表示 0 或 1个 {0,1}     // a=0 或 a=1
    */
    var reg =/a{30}/;

    // ababab
    reg = /(ab){3}/;
    // a  3个b     c
    reg = /ab{3}c/;
    // a  1-3个b   c
    reg = /ab{1,3}c/;
    // a  3个以上b  c
    reg = /ab{3,}c/;
    // a  至少1个b  c
    reg = /ab+c/;
    // a  0或多个b  c
    reg = /ab*c/;
    // a  0或1个b   c
    reg = /ab?c/;
    // console.log(reg.test("abbbbc"));

    /*
        检查一个字符串是否以 a 开头
            ^ 表示开头
            $ 表示结尾
    */
    reg =/^(ab)/;   // 匹配开头的 a
    reg =/(ac)$/;      // 匹配结尾的 a

    // console.log(reg.test("abac"));
    /*
        如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式
    */
    reg = /^a$/;    // a 开头"并"结为  reg.test("a");
    reg = /^a|a$/;  // a 开头 或 a结尾
    // console.log(reg.test("affdascc99a"));

    /*
        创建一个正则表达式，用来检查一个字符串是否是一个合法手机号

        手机号的规则：
            1 0 132876253 （11位）

            1.以 1 开头
            2.第二位3-9任意数字
            3.三位以后任意数字

            ^1  [3-9]  [0-9]{9}$

    */
    // 课程方法
    var phoneStr ="17567892229";
    var phoneReg =/^1[3-9][0-9]{9}$/;
    if(phoneReg.test(phoneStr)){
        document.write("您的号码合法<br>");
    }else{
        document.write("您的号码格式有误<br>");
    }

    // 自研
    var reg =/^1[0-9]/;
    var reg2=/[A-z]/;
    var reg3=/[3-9]/;
    // var phone =prompt("请输入手机号");
    var phone ="19137776235";
    var result = phone.length;
    if(reg2.test(phone)){
        document.write("格式错误");
    }else{
        if(reg3.test(phone[1])){
            if(result == 11){
                if(reg.test(phone)){
                    document.write("手机号正确");
                }else{
                    document.write("ddddddd");
                }
            }else{
                document.write("请输入11位手机号");
            }
        }else{
            document.write("格式错误，第二位数应为3-9之间的数字");
        }
    }
</script>